package com.baoyang.controller;

import com.baoyang.tool.api.R;
import com.baoyang.tool.utils.SecurityUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 测试控制器 - 用于验证JWT认证功能
 */
@RestController
@RequestMapping("/test")
public class TestController {

    /**
     * 测试需要认证的接口
     */
    @GetMapping("/auth")
    public R<String> testAuth() {
        String userId = SecurityUtils.getCurrentUserId();
        return R.data("认证成功，当前用户ID: " + userId);
    }

    /**
     * 测试不需要认证的接口
     */
    @GetMapping("/public")
    public R<String> testPublic() {
        return R.data("这是一个公开接口，无需认证");
    }

    /**
     * 测试token刷新功能
     * 每次调用此接口都会刷新token的过期时间
     */
    @GetMapping("/refresh")
    public R<String> testRefresh() {
        String userId = SecurityUtils.getCurrentUserId();
        return R.data("Token刷新测试成功，当前用户ID: " + userId + "，token过期时间已重置为1小时");
    }
}